package com.dance.webflux.reactor8;

import lombok.extern.slf4j.Slf4j;

import java.util.Observable;
import java.util.Observer;

@Slf4j
public class ObserverDemo extends Observable {

    public static void main(String[] args) {

        ObserverDemo observerDemo = new ObserverDemo();

        // 添加观察者
        observerDemo.addObserver((o, arg) -> {
            log.info("o:{},arg:{}",o,arg);
            System.out.println("发生变化");
        });

        // 添加观察者
        observerDemo.addObserver((o, arg) -> {
            log.info("o:{},arg:{}",o,arg);
            System.out.println("手动被观察者通知,准备改变");
        });

        // 发生改变
        observerDemo.setChanged();

        // 通知观察者
        observerDemo.notifyObservers();

    }

}
